﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using System.Collections;
using QLTuyenXe.BLL;
using QLTuyenXe.DAO;
using QLTuyenXe.library;


namespace QLTuyenXe.GUI
{
    public partial class frmDSHopDong : DevComponents.DotNetBar.Office2007RibbonForm
    {
        BHopDong hd = new BHopDong();
        XuLyDL xuly = new XuLyDL();
        ThongBao thongBao = new ThongBao();
        public frmDSHopDong()
        {
            InitializeComponent();
        }
//--------------------------------------------------------------------------------
        //Hàm hiển thị lên datagriview khi load form (Mr.Tuyên K_54HTTT)
       private void HienThiTT()
        {
            ArrayList hopDong = hd.SelectKH();
            DataTable tbHopDong = new DataTable();
            tbHopDong.Columns.Add("STT", typeof(String));
           tbHopDong.Columns.Add("Mã HĐ", typeof(String));
           tbHopDong.Columns.Add("Công ty", typeof(String));
           tbHopDong.Columns.Add("Đại diện", typeof(String));
           tbHopDong.Columns.Add("Chức vụ", typeof(String));
           tbHopDong.Columns.Add("Địa chỉ", typeof(String));
           tbHopDong.Columns.Add("Số ĐT", typeof(String));
           tbHopDong.Columns.Add("SL xe", typeof(String));
           tbHopDong.Columns.Add("Loại (chỗ)", typeof(String));
           tbHopDong.Columns.Add("Thời gian thuê", typeof(String));
           tbHopDong.Columns.Add("Thời gian trả", typeof(String));
           tbHopDong.Columns.Add("Giá thành/ngày", typeof(String));
           tbHopDong.Columns.Add("Ngày tạo HĐ", typeof(String));
            if (hopDong.Count > 0)
                foreach (HOPDONG tx in hopDong)
                {
                    DataRow r =tbHopDong.NewRow();
                    r["Mã HĐ"] =  tx.MaHD;
                    r["Công ty"] = tx.DonviB;
                    r["Đại diện"] = tx.DaidienB;
                    r["Chức vụ"] = tx.ChucvuB;
                    r["Địa chỉ"] = tx.DiachiB;
                    r["Số ĐT"] = tx.DienthoaiB;
                    r["SL xe"] = tx.Soluong;
                    r["Loại (chỗ)"] = tx.Loai;
                    r["Thời gian thuê"] = tx.Thoigianthue;
                    r["Thời gian trả"] = tx.Thoigiantra;  
                    r["Giá thành/ngày"] = (tx.Giathue);
                    r["Ngày tạo HĐ"] = tx.Ngaylamhopdong;
                   tbHopDong.Rows.Add(r);
                }
            //Thiết lập nguồn dữ liệu cho lưới
            dgDSHopDong.DataSource = tbHopDong;
            int stt = 0;
            for (int i = 0; i < dgDSHopDong.Rows.Count - 1; i++)
            {
                stt = stt + 1;
                dgDSHopDong.Rows[i].Cells[1].Value = stt;
            }
            txtTong1.Text = stt.ToString();
            dgDSHopDong.RowHeadersVisible = false;
            dgDSHopDong.Columns[2].Visible = false;         
            dgDSHopDong.Columns[3].Width = 210;           
            dgDSHopDong.Columns[4].Width = 160;            
            dgDSHopDong.Columns[5].Width = 130;          
            dgDSHopDong.Columns[6].Width = 230;            
            dgDSHopDong.Columns[7].Width = 110;            
            dgDSHopDong.Columns[8].Width = 60;            
            dgDSHopDong.Columns[9].Width = 60;
            dgDSHopDong.Columns[10].Width = 100;            
            dgDSHopDong.Columns[11].Width = 100;            
            dgDSHopDong.Columns[12].Width = 100;
            dgDSHopDong.Columns[13].Width = 100;
        
            //Tinh tien
            int tong =  dgDSHopDong.Rows.Count;
            decimal thanhtien = 0;
           int Tong = 0;

            for (int i = 0; i < tong - 1; i++)
            {
                int soxe = int.Parse(dgDSHopDong.Rows[i].Cells[8].Value.ToString());
                int gia = int.Parse(dgDSHopDong.Rows[i].Cells[12].Value.ToString());
                DateTime ngaythue = DateTime.Parse(dgDSHopDong.Rows[i].Cells[10].Value.ToString());
                DateTime ngaytra = DateTime.Parse(dgDSHopDong.Rows[i].Cells[11].Value.ToString());
                DateTime thoigianthue = Convert.ToDateTime(ngaythue);
                DateTime thoigiantra = Convert.ToDateTime(ngaytra);
                TimeSpan Time = thoigiantra - thoigianthue;
                Tong = Time.Days;
                thanhtien += Tong * soxe * gia ;
            }
            txtTong.Text = thanhtien.ToString();
            txtTongChu.Text = xuly.DocTien(thanhtien);
        }
        //end hàm hiển thị (Mr.Tuyên K_54HTTT)
//------------------------------------------------------------------------------------------------------------------------

        private void frmDSHopDong_Load(object sender, EventArgs e)
        {
            CheckQuyen();
            HienThiTT();
            btnXoa.Enabled = false;
            btnTimKiem.Enabled = false;
        }
//--------------------------------------------------------------------------
        //Hàm xóa (Mr.Tuyên K_54HTTT)
        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgDSHopDong.SelectedRows.Count >= 1)
            {
                int count = 0;
                foreach (DataGridViewRow dr in dgDSHopDong.SelectedRows)
                {
                    count += hd.Delete("maHD=" + dr.Cells[0].Value.ToString());
                }
                MessageBox.Show("Bạn đã xóa " + count.ToString() + " dòng");
                HienThiTT();
            }
        }
        //End hàm xóa (Mr.Tuyên)
//------------------------------------------------------------------------------------------------

        //----Hàm bắt sự kiện click datagriview sẽ hiển thị nút xóa ------
        private void dgDSHopDong_Click(object sender, EventArgs e)
        {
             //= int.Parse(dgDSHopDong.CurrentRow.Cells[0].Value.ToString());
            btnXoa.Enabled = true;
        }
//-----------------------------------------------------------------------------------------
        //Hàm xóa (Mr.Tuyên)
        private void btnXoa_Click_1(object sender, EventArgs e)
        {
            if (MessageBoxEx.Show("Bạn muốn xóa không ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                string key = "";
                int count = 0;
                int rcount_ = dgDSHopDong.Rows.Count - 1; 
                if (rcount_ <= 0) { return; }
                for (int i = rcount_; i >= 0; i--)
                {
                    if (dgDSHopDong.Rows[i].Cells[0].Value != null)
                    {
                        key = dgDSHopDong.Rows[i].Cells[2].Value.ToString();
                        count += hd.Delete("maHD='" + key + "'");
                    }
                }
                if (count > 0)
                {
                    HienThiTT();
                    thongBao.Kq_Xoa(count);
                }
            }
        }
        //end hàm xóa (Mr.Tuyên)
//----------------------------------------------------------------------------------------------------


//-------------------------------------------------------------------------------------
        //Hàm này mục đích khi t thêm mới hợp đồng trong khi bảng danh sách đang mở sẽ k thấy dc cái mới
        //(Mr.Tuyên)
        private void btnLoadLai_Click(object sender, EventArgs e)
        {
            HienThiTT();
        }
        //end hàm load (Mr.Tuyên)
//--------------------------------------------------------------------------------------------------

        private void txtTimKiem_TextChanged(object sender, EventArgs e)
        {
            btnTimKiem.Enabled = true;
        }
//---------------------------------------------------------------------------------------------
        //Hàm tìm kiếm (Mr.Tuyên)
        private void btnTimKiem_Click_1(object sender, EventArgs e)
        {
            string tenCT = xuly.ChuanHoa(txtDK.Text);
            ArrayList hopDongs2 = hd.select1("donviB LIKE N'%" + @xuly.ChuanHoa(tenCT) + "%'");
            DataTable tbHopDongs2 = new DataTable();
            tbHopDongs2.Columns.Add("STT", typeof(String));
            tbHopDongs2.Columns.Add("Mã Hợp Đồng", typeof(String));
            tbHopDongs2.Columns.Add("Công ty", typeof(String));
            tbHopDongs2.Columns.Add("Đại diện", typeof(String));
            tbHopDongs2.Columns.Add("Chức vụ", typeof(String));
            tbHopDongs2.Columns.Add("Địa chỉ", typeof(String));
            tbHopDongs2.Columns.Add("Điện thoại", typeof(String));
            tbHopDongs2.Columns.Add("SL xe", typeof(String));
            tbHopDongs2.Columns.Add("Loại(chỗ)", typeof(String));
            tbHopDongs2.Columns.Add("Thời gian thuê", typeof(String));
            tbHopDongs2.Columns.Add("Thời gian trả", typeof(String));
            tbHopDongs2.Columns.Add("Giá thành/ngày", typeof(String));
            tbHopDongs2.Columns.Add("Ngày tạo hợp đồng", typeof(String));
            if (hopDongs2.Count > 0)
            {
                foreach (HOPDONG tx in hopDongs2)
                {
                    DataRow r = tbHopDongs2.NewRow();
                    r["Mã Hợp Đồng"] = tx.MaHD;
                    r["Công ty"] = (tx.DonviB);
                    r["Đại diện"] = tx.DaidienB;
                    r["Chức vụ"] = tx.ChucvuB;
                    r["Địa chỉ"] = tx.DiachiB;
                    r["Điện thoại"] = tx.DienthoaiB;
                    r["SL xe"] = tx.Soluong;
                    r["Loại(chỗ)"] = tx.Loai;
                    r["Thời gian thuê"] = tx.Thoigianthue;
                    r["Thời gian trả"] = tx.Thoigiantra;
                    r["Giá thành/ngày"] = tx.Giathue;
                    r["Ngày tạo hợp đồng"] = tx.Ngaylamhopdong;
                    tbHopDongs2.Rows.Add(r);
                }
                dgDSHopDong.DataSource = tbHopDongs2;
                dgDSHopDong.RowHeadersVisible = false;
                dgDSHopDong.Columns[2].Visible = false;
                dgDSHopDong.Columns[3].Width = 210;
                dgDSHopDong.Columns[4].Width = 160;
                dgDSHopDong.Columns[5].Width = 130;
                dgDSHopDong.Columns[6].Width = 230;
                dgDSHopDong.Columns[7].Width = 110;
                dgDSHopDong.Columns[8].Width = 60;
                dgDSHopDong.Columns[9].Width = 60;
                dgDSHopDong.Columns[10].Width = 100;
                dgDSHopDong.Columns[11].Width = 100;
                dgDSHopDong.Columns[12].Width = 100;
                dgDSHopDong.Columns[13].Width = 100;
                int stt = 0;
                for (int i = 0; i < dgDSHopDong.Rows.Count - 1; i++)
                {
                    stt = stt + 1;
                    dgDSHopDong.Rows[i].Cells[1].Value = stt;
                }
                txtTong1.Text = stt.ToString();

                //Tinh tien
                int tong = dgDSHopDong.Rows.Count;
                decimal thanhtien = 0;
                int Tong = 0;

                for (int i = 0; i < tong - 1; i++)
                {
                    int soxe = int.Parse(dgDSHopDong.Rows[i].Cells[8].Value.ToString());
                    int gia = int.Parse(dgDSHopDong.Rows[i].Cells[12].Value.ToString());
                    DateTime ngaythue = DateTime.Parse(dgDSHopDong.Rows[i].Cells[10].Value.ToString());
                    DateTime ngaytra = DateTime.Parse(dgDSHopDong.Rows[i].Cells[11].Value.ToString());
                    DateTime thoigianthue = Convert.ToDateTime(ngaythue);
                    DateTime thoigiantra = Convert.ToDateTime(ngaytra);
                    TimeSpan Time = thoigiantra - thoigianthue;
                    Tong = Time.Days;
                    thanhtien += Tong * soxe * gia;
                }
                txtTong.Text = thanhtien.ToString();
                txtTongChu.Text = xuly.DocTien(thanhtien);
            }
            else
            {
                thongBao.DKTimKiem();
            }
        }
        //end tìm kiếm (Mr.Tuyên)
 //---------------------------------------------------------------------------------------------------
       
        private void btnCheckAll_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dgDSHopDong.Rows.Count - 1; i++)
            {
                dgDSHopDong.Rows[i].Cells[0].Value = true;
            }
        }

        private void btnUncheckAll_Click(object sender, EventArgs e)
        {
            foreach (DataGridViewRow r in dgDSHopDong.Rows)
            {
                r.Cells[0].Value = false;
            }
        }

       // private void dgDSHopDong_CellContentClick(object sender, DataGridViewCellEventArgs e)
        //{
            //foreach (DataGridViewRow r in dgDSHopDong.Rows)
            //{
                //r.Cells[0].Value = true;
            //}
       // }
        //Check quyền
        public static string ten = string.Empty;
        public void CheckQuyen()
        {
            BUser user = new BUser();
            DataTable xoa = user.Select_Quyen("name='" + ten + "'", "danhmuc_xoa='X'");
            if (xoa.Rows.Count > 0)
            {
                btnXoa.Enabled = true;
            }
            else
            {
                btnXoa.Enabled = false;
            }
        }
        //end
 


    }
}
